package com.ruoyi.market.mapper;

import com.ruoyi.bizsys.domain.AppUserMark;
import com.ruoyi.bizsys.domain.ProductInfo;
import com.ruoyi.market.domain.MarketUser;
import com.ruoyi.market.vo.MarketParamVo;
import com.ruoyi.market.vo.MarketUserLabelVo;
import com.ruoyi.market.vo.MarketUserVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface MarketUserMapper {

    List<MarketUserVo> selectRealNameAuthList(MarketParamVo marketParamVo);

    List<MarketUserVo> selectRealNameAuthLogList(MarketParamVo marketParamVo);

    List<MarketUserVo> selectCreditApplyList(MarketParamVo marketParamVo);

    List<MarketUserVo> selectCreditApplyByRiskList(MarketParamVo marketParamVo);

    List<MarketUserVo> selectCustBankCardList(MarketParamVo marketParamVo);

    List<MarketUserVo> selectCustBindCardLogList(MarketParamVo marketParamVo);

    List<MarketUserVo> selectLoanOrderList(MarketParamVo marketParamVo);

    List<MarketUserVo> selectIncreasedLimitLogList(MarketParamVo marketParamVo);

    void batchAddMarketUser(List<MarketUser> marketUserList);

    int batchUpdateMarketUser(List<MarketUserVo> marketUserVoList);

    List<MarketUser> selectMarketUserByState(MarketParamVo marketParamVo);

    void updateMarketUserState(@Param("state1") String state1,@Param("state2")  String state2);

    void updateMarketUser(List<MarketUser> marketUserList);

    List<MarketUserVo> selectUnregisteredPhone(MarketParamVo marketParamVo);

    List<MarketUserVo> selectNoRealNameList(MarketParamVo marketParamVo);

    List<MarketUserVo> getRepaymentNotWithdrawn(MarketParamVo marketParamVo);

    List<MarketUser> selectRejectMarketUser(MarketParamVo marketParam);

    List<AppUserMark> selectAppUserMarkList(List<MarketUserLabelVo> marketUserLabelVos);

    List<AppUserMark> selectAppUserMarkListByTime(@Param("intervalTime") int intervalTime);

    List<MarketUserVo> selectCreditLoanIouList(MarketParamVo marketParamVo);

}
